#ifndef UC_BRVETRAV_H
#define UC_BRVETRAV_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"
#include "ucbrtrav.h"


// forward class declarations
class UcBrEdge;
class UcBrVertex;


class DllImpExp UcBrVertexEdgeTraverser : public UcBrTraverser
{
public:
    UCRX_DECLARE_MEMBERS(UcBrVertexEdgeTraverser);
    UcBrVertexEdgeTraverser();
    UcBrVertexEdgeTraverser(const UcBrVertexEdgeTraverser& src);
    ~UcBrVertexEdgeTraverser();

    // Assignment operator
    UcBrVertexEdgeTraverser& operator =	(const UcBrVertexEdgeTraverser& src);

    // Queries & Initialisers
    UcBr::ErrorStatus   setVertex		(const UcBrVertex& vertex);
    UcBr::ErrorStatus   getVertex       (UcBrVertex& vertex) const;
    UcBr::ErrorStatus   setEdge         (const UcBrEdge& edge);
    UcBr::ErrorStatus   getEdge         (UcBrEdge& edge) const;
};


#endif

